package cn.s1995.sloth.bizs.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.s1995.sloth.bizs.entity.Shop;
import cn.s1995.sloth.bizs.oo.vo.ShopDetailVO;
import cn.s1995.sloth.common.core.util.R;

public interface ShopService extends IService<Shop> {

     /**
      * 根据店铺id获取店铺 将被缓存
      * @param shopId
      * @return
      */
     Shop getShop(Long shopId);

     /**
      * 更新店铺信息
      * @param shopDetail
      * @param dbShopDetail
      */
     void updateShop(Shop shopDetail, Shop dbShopDetail);

     /**
      * 删除店铺详情
      * @param shopId
      */
     void removeShop(Long shopId);


     /**
      * 根据店铺id删除店铺详情信息
      * @param shopId
      */
     void removeShopCache(Long shopId);

     /**
      * 关注店铺
      * @param id
      * @return
      */
	R follow(Long id);

    /**
     * 获取商铺详情
     * @param id
     * @return
     */
	ShopDetailVO getShopDetail(Long id);

	/**
	 * 分页查询工厂数据,带产品数及视频数
	 * @param page
	 * @param req
	 * @return
	 */
	Page selectShopPage(Page page, Shop req);
}
